package org.kl.bf.entity;

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @Author hqm
 * @CreateTime 2014年4月28日 下午8:02:09
 */
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Excel {
	// 导入时，对应数据库的字段 主要是用户区分每个字段，不能有annocation重名的
	// 导出时的列名 导出排序跟定义了annotation的字段的顺序有关
	// 多个用“|”隔开
	public String exportName();

	// 导出时在excel中每个列的宽 单位为字符，一个汉字=2个字符
	// 如 以列名列内容中较合适的长度 例如姓名列6 【姓名一般三个字】 性别列4【男女占1，但是列标题两个汉字】
	// 限制1-255
	// 多个用“|”隔开
	public String exportFieldWidth() default "20";

	// 导出时是否进行字段转换 例如 性别用int存储，导出时可能转换为男，女
	// 若是sign为1,则需要在pojo中加入一个方法 字段名Convert()
	// 例如，字段sex ，需要加入 public String sexConvert() 返回值为string
	// 若是sign为0,则不必管
	public int exportConvertSign() default 0;

	// 属性为对象时的表达式，例如：obj.property，过个用“|”隔开
	public String exportProperty() default "";
	
	public String exportFormat() default "";
}
